To test a server application, a test administrator can run multiple client virtual machines on a smaller number of physical machines. Typically, the test administrator manually configures each client virtual machine with a unique personality. For example, the test administrator may start with a single client virtual machine image and manually hard code that same client virtual machine image with a unique media access control (MAC) address, a unique Internet Protocol (IP) address, a unique system identifier, etc. to form distinct client virtual machines.
For example, suppose that the test administrator has access to five physical machines, and that each physical machine has enough actual resources to effectively run up to five client virtual machines at the same time. In this situation, the test administrator individually custom configures five client virtual machines on each physical machine. As a result, the test administrator is able to create a total of 25 distinct client virtual machines.
To test the server application, the 25 distinct client virtual machines individually communicate with the server application in the same manner as would 25 separate physical machines. Accordingly, using manual virtual machine configuration, the test administrator is able to “individualize” a number of client virtual machines. As a result, the test administrator more closely matches a real world environment but uses a smaller number of physical machines.